<?php
/**
 * Klasa stanowiąca łącznik między stronąa poszczególnymi modułami
 *
 * @author Lukas
 */
class modules {
  private $moduleName = "candidates";
  private $moduleObject;

  public function __construct( $modulName ) {
    if( $modulName != "" ){
      $this->moduleName = $modulName;
      try{
        $class_name = sprintf('%s_controller', $this->moduleName);
       $this->moduleObject = new $class_name();
      }catch( Exception $e ){
        throw new Exception( $e->getMessage() );
      }
    }else{
      throw new Exception( "Nie prawiłowy parametr nazwy modułu!" );
    }
  }

  public function przetworzRzadanie(){
    try{
      $tresc = $this->moduleObject->przetworzRzadanie();
    }catch(Exception $e){
      $tresc = Application::getErrorDiv( $e->getMessage()."\n".$e->getTraceAsString() );
    }

    return $tresc;
  }

  public function przetworzRzadanieBezLogowania(){
    try{
      if(method_exists($this->moduleObject, "przetworzRzadanieBezLogowania")){
        //Log::logInfo("Odwołanie się do modułu ".$this->moduleName." ze strony Testów i Ankiet");
        $tresc = $this->moduleObject->przetworzRzadanieBezLogowania();
      }else{
        $tresc = "";
        Log::logError("Odwołanie się do modułu ".$this->moduleName." ze strony Testów i Ankiet");
      }
      
    }catch(Exception $e){
      $tresc = Application::getErrorDiv( $e->getMessage() );
    }

    return $tresc;
  }

}